System and method for self-contained modular manufacturing device having nested controllers

ABSTRACT

A system and method for a self-contained modular manufacturing device having self-contained modular tools configured to collectively accomplish a specific task or function in a hierarchical control manner. In an embodiment, the modular device includes a housing that has a mount configured to engage a robotic arm or other form of maneuvering actuator (such a crane or gantry). The housing provides a base by which additional modules may be mounted and coupled. The modular device also includes an interface configured to communicate with a remote master control system capable of control the robotic arm. The modular device also includes one or more other modules that are configured to accomplish a particular task or function. Such modules are sometimes called end-effectors and work in conjunction with each other to accomplish tasks and functions. In a self-contained modular manufacturing device, individual processors disposed in the housing are configured to control the functional tools (e.g., each end-effector) independent of the overall manufacturing control system and pass control of the self-contained modular device between local controllers in a hierarchical manner.

RELATED APPLICATION DATA

The present application is related to U.S. patent application Ser. Nos. 14/876,415, entitled SELF-CONTAINED MODULAR MANUFACTURING TOOL filed Oct. 6, 2015; is related to U.S. patent application Ser. No.: 14/876,443, entitled SYSTEM AND METHOD FOR SELF-CONTAINED SELF-CALIBRATING MODULAR MANUFACTURING TOOL filed Oct. 6, 2015; is related to U.S. patent application Ser. No.: 14/876,508, entitled SELF-CONTAINED MODULAR MANUFACTURING TOOL RESPONSIVE TO LOCALLY STORED HISTORICAL DATA filed Oct. 6, 2015; and is related to U.S. patent application Ser. No.: 14/876,603, entitled SYSTEM AND METHOD FOR SELF-CONTAINED INDEPENDENTLY CONTROLLED MODULAR MANUFACTURING TOOLS filed Oct. 6, 2015, all of the foregoing applications are incorporated herein by reference in their entireties.

BACKGROUND

As manufacturing environments become more automated and complex, robotics and other automated machinery is becoming more and more prevalent in all phases of manufacturing. Very specific tasks that are conventionally performed by a skilled artisan may be performed using highly specialized robotics having highly specialized tools and/or end effectors. For example, drilling holes in composite sections of a contoured section of an airplane wing or car body may require a high level of precision with respect to applying torque to a motor for moving the end effector around a contoured wing surface. A further example is the need to tightly control the actuation force applied to the wing section by the drill bit in order to avoid compromising the wing itself.

In conventional manufacturing environments, various end-effectors and other tools that are used to accomplish various functions are simply controllable tools that are mounted to the end of a robotic arm or other form of actuator such that a central control system controls end-effectors according to a master logic program or state machine. That is, the tool itself does not contain any manner of processing ability such that the tool may be deemed to be a “smart tool” capable of directing its own functions in a self-contained manner. Rather, conventional systems include master programs that exhibit control functionality to tools through control signal communications propagating through robotic arms and actuators. In such a conventional environment, lack of localized processing and control imposes large processing speed and power requirements on the master control system.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and many of the attendant advantages of the claims will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 shows an isometric view of a set of modular tools forming a self-contained modular manufacturing device having a local processor for executing processing instructions independent of an overall manufacturing control system according to an embodiment of the subject matter disclosed herein.

FIG. 2 shows an exploded diagram of the isometric view of FIG. 1 showing the set of modular tools that form the self-contained modular manufacturing device of FIG. 1 according to an embodiment of the subject matter disclosed herein.

FIG. 3 shows an isometric view of an overall control system set in a manufacturing environment that includes the self-contained modular manufacturing device of FIG. 1 according to an embodiment of the subject matter disclosed herein.

FIG. 4 shows a block diagram of an overall control system set in a manufacturing environment that includes the self-contained modular manufacturing device of FIG. 1 according to an embodiment of the subject matter disclosed herein.

FIG. 5 shows a block diagram of an overall control system set in a manufacturing environment that includes the several self-contained modular manufacturing device of FIG. 1 according to an embodiment of the subject matter disclosed herein.

FIG. 6 shows a flow diagram of a method for using self-contained modular manufacturing device with nested controllers in the systems of FIGS. 4 and 5 according to an embodiment of the subject matter disclosed herein.

DETAILED DESCRIPTION

The following discussion is presented to enable a person skilled in the art to make and use the subject matter disclosed herein. The general principles described herein may be applied to embodiments and applications other than those detailed above without departing from the spirit and scope of the present detailed description. The present disclosure is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed or suggested herein.

The subject matter disclosed herein is directed to a system (and method for use thereof) of a self-contained modular manufacturing device having modular tools and parts configured to collectively accomplish a specific task or function. In an embodiment, the modular device includes a housing that has a mount configured to engage a robotic arm or other form of maneuvering actuator (such a crane or gantry). The housing may provide a base by which additional modules may be mounted and coupled. The modular device also includes one or more interfaces configured to communicate with a remote control system capable of controlling the robotic arm. The modular device also includes one or more other modules that are configured to accomplish a particular task or function. Such modules are sometimes called end-effectors and work in conjunction with each other to accomplish tasks and functions. In a self-contained modular manufacturing device, a processor disposed in the housing may be configured to control the functional tools (e.g., each end-effector) independent of the overall manufacturing control system. Further, the self-contained modular manufacturing device may be configured to calibrate itself with respect to other attached modules or with respect to an underlying manufactured item. Further yet, the modular device may include additional processors that are each capable of independent control of one more end-effectors such that the additional controllers are nested within the primary local controller within the self-contained modular manufacturing device.

As foreshadowed in the background, a conventional robotic manufacturing system may include arm and actuators to which are attached end-effectors and other tooling. Under a master control system or master control operator, the robot arm may move the end effector into position where the end effector performs the actual machining or assembly of the parts. For example, to fasten two pieces of metal together, a human operator loads the two pieces of metal into the tooling, and, after the operator retreats to a safe distance from the robot, the operator pushes a button, or otherwise indicates to the robot that the robot can begin the fastening process. Then, under the control of the master control system, the end-effector drills one or more holes through the two pieces of metal, inserts fasteners (e.g., rivets) into the holes, and installs the fasteners. During the fastening operation, the robot may move the end-effector from hole position to hole position, or the robot may be installed on a device (e.g., a rail) that moves the robot from hole position to hole position. Alternatively, the tooling may move the two pieces of metal relative to the end effector, or may be installed on a device (e.g., a rail or Automatic Guided Vehicle (AGV)) that moves the tooling. After the two pieces of metal are fastened together, the operator removes the fastened pieces from the tooling, and repeats the above procedure starting with loading another two pieces of metal into the tooling.

Alternatively, where the pieces (e.g., pieces of an airplane wing) are too large to be moved by a human operator, they may be moved and loaded into the tooling with machinery (e.g., heavy equipment), or the robot may be moved to the location of the pieces instead of the pieces being moved to the location of the robot.

The robot and the end effector, in a conventional system, are controlled by a master control system and often through a central Programmable Logic Controller (PLC). The PLC executes a software program to directly control all of the operations of the robot and the end effector, and to store information regarding the robot and end effector. For example, to drill a hole, the PLC may access and execute a drill-hole software subroutine or object (or the PLC may be a state machine) that causes the PLC to generate one or more electrical analog or digital signals that are coupled to the end effector. These signals (e.g., drill on/off, drill speed, drill extend/retract) cause the drill motor to rotate the drill bit at a desired speed and to drill a hole. And the PLC may receive feedback signals (e.g., drill depth, drill speed) from feedback sensors so that the PLC can operate the items (e.g., drill) of the end effector in open loop or closed loop. The PLC may also receive monitoring signals (e.g., temperature) from sensors so as to take corrective action if there is a problem (e.g., overheating, short circuit).

But there are disadvantages to such a central control system. Because the PLC controls all operations of the robot and end effector, the software program (or state machine) that the PLC executes may be long, complex, unwieldy, and difficult and time consuming to update. For example, suppose a small change or update needs to be made to the drilling subroutine. A programmer may need to access, modify, recompile, debug, and reinstall the entire program just for this small change. And the debug may include testing the program on the entire manufacturing system, not just on the end effector, so that either the entire manufacturing system is down during this software update, or a separate robotic system or robot-system emulator needs to be purchased and maintained just for software updates.

Furthermore, because the PLC needs to generate many analog or digital signals to control the end effector, the connector (e.g., “umbilical cord”) between the PLC and the end effector may be large and complex, and, due to the number of individual connections, may be unreliable. For example, such a connector may have from tens to hundreds of individual connection pins and receptacles. Moreover, because the PLC needs to calibrate the end effector, swapping out an end effector is anything but trivial. For example, the PLC may calibrate open-loop offsets (e.g., previously calculated and stored drill-position offset, camera-position offset) based on a look-up table (LUT) that is unique to the end effector. For example, the PLC may match a serial number of the end effector with the proper LUT to make sure that the PLC is using the correct calibration offsets for that particular end effector. Therefore, when swapping out an end effector, the maintenance person may need to load the calibration data for the end effector into an LUT of the PLC. Even if it is relatively easy to load the calibration data into an LUT, this still presents an opportunity for error that may go undiscovered until one or more parts are machined or assembled out of specification.

In addition, because the end effector is designed as an integral unit, repairing the end effector may entail removing and shipping the entire end effector back to the equipment supplier even to diagnose a failure in, and to change, a relatively small part. To avoid down time, this means that the manufacturing system that is using the robotic control system may need to keep one or more spare end effectors on hand to swap out a broken end effector. Because end effectors are relatively expensive, this adds significant cost to the manufacturer that uses the robot system under a master control system.

Furthermore, to perform any tests on the end effector (e.g., a test after repair or after a software update), the tester must have an entire robot system, or at least a robot-system emulator. This adds expense, and may require a large space because the robot is typically large.

Various embodiments of the inventive self-contained modular manufacturing device address these disadvantages by providing a system and method of handling control aspects and calibration aspects of the end-effector using a modular device having a dedicated processor for controlling the actions of the end-effector in a self-contained manner. In this aspect, problems associated with bulky and remote master control system are eliminated. Further, the modularity of the various portions of the overall manufacturing system is increased thereby reducing downtime and repair costs. These and other aspects of the subject matter disclosed herein are better understood with respect to the descriptions of FIGS. 1-6 below.

FIG. 1 shows an isometric view of a set of modular tools forming a self-contained modular manufacturing device 100 having at least one local processor for executing processing instructions independent of an overall manufacturing control system according to an embodiment of the subject matter disclosed herein. The modular device 100 may include several modules 105-109 that are designed to interface with one or more other modules 105-109 within the modular device 100. In this manner, the set of modules 106-109 function as one device 100 within the larger context of a manufacturing control system. Further, each module 105-109 may include its own dedicated processor (not shown in FIG. 1) for controlling aspects of the functions of each individual module. In other embodiments, the modular device 100 may include its own local controller with several nested controllers embedded within dependent modules. In still further embodiments, each module 105-109 may be controlled by a single local processor embedded within one of the modules 105-109. For the purposes of this disclosure, the example embodiment having a first local processor for controlling the aspects of one of the five modules (e.g., module 107) along with one or more additional nested controllers embedded with remaining modules 105, 106, 108, and 109 is discussed.

Thus, in this embodiment, there are five modules 105-109 that collectively form a self-contained modular manufacturing device 100 that is a fastener delivery and actuating tool 100. This will be the example embodiment that is discussed throughout the remainder of this disclosure, but the skilled artisan understands that there can many several other examples of self-contained modular manufacturing device 100. The five modules 105-109 of the modular device 100 include an x-y-axis motion-actuator assembly 105 (hidden from view in FIG. 1—see FIG. 2 for greater detail), a motor-spindle assembly 106, an end-effector assembly 107 (as shown in FIG. 1, a fastener torque assembly), a y-axis carriage assembly 108, and a fastener-delivery assembly 109. Collectively, these five modules 105-109 may be controlled by one or more self-contained processors (not shown in FIG. 1) embedded in one or more of the five modules.

Each self-contained processor (shown in FIG. 2) may include programming with executable routines and sub-routines for controlling each of the modules 105-109. For example, a first sub-routine may be programmed for maneuvering the modular device along an x-axis rail (by controlling the x-y-axis motion-actuator assembly 105) and along a y-axis rail (by controlling the x-y-axis motion-actuator assembly 105) and the y-axis carriage assembly 108. A second subroutine may be programmed for selecting and delivering a specific fastener using the fastener-delivery assembly 109. A third subroutine may be programmed to control the motor-spindle assembly 106 to apply the appropriate drive force to the end-effector assembly 107. Lastly, a fourth subroutine may be programmed to control the end-effector assembly 107 to apply the appropriate torque to the fastener that has been selected. Additional subroutine may also assist with the overall control of the self-contained modular manufacturing device 100. Each of these routines and subroutines may be executed by one or more of the processors embedded within each module 105-109.

The self-contained modular manufacturing device 100 may also communicate with a master control system (shown in FIG. 3) as well. In this sense, the self-contained modular manufacturing device 100 may hand off control to a master control system until appropriate times and then be handed local control at the self-contained modular manufacturing device 100 so that the specific functionality of the device 100 can be accomplished, Such a back and forth nature is often called a control handshake wherein a master control system need not be aware of what the self-contained modular manufacturing device 100 is doing—rather the master control system need only be aware that the self-contained modular manufacturing device 100 is doing its thing.

Such communication may be realized through an umbilical cord 110 having a communication link, such as RS-232 or standard Ethernet. Further, the umbilical cord 110 may also have cabling for power to the various modules 105-109 of the self-contained modular manufacturing device 100. In another embodiment, communication between the self-contained modular manufacturing device 100 and a master control system may be realized through wireless communications using common wireless communication protocols such as IEEE 802.11 and the like. Further, such a wireless embodiment may also include self-contained battery power such that any need for an umbilical cord 110 is eliminated. Additional details about each module 105-109 in the self-contained modular manufacturing device 100 are presented next with respect to FIG. 2.

FIG. 2 shows an exploded diagram of the isometric view of FIG. 1 showing the set of modular tools that form the self-contained modular manufacturing device 100 of FIG. 1 according to an embodiment of the subject matter disclosed herein. This exploded view also shows each of the five modules 105-109 from the example embodiment discussed above. As mentioned before, these modules include an x-y-axis motion-actuator assembly 105, a motor-spindle assembly 106, an end-effector assembly 107, a y-axis carriage assembly 108, and a fastener-delivery assembly 109. Collectively, these five modules 105-109 may be controlled by one or more self-contained local controllers 200-204 embedded in a respective one of the modules 105-109. Thus, the local controller 200 may be a processor programmed to include routines and subroutines (which may be stored in a local memory not shown in FIG. 2) for controlling the end-effector module 107, the local controller 201 may be a processor programmed to include routines and subroutines for controlling the x-y axis actuator module 105, and so on. One or more of these local controllers 200-204 nay be programmed to control more than one module 105-109.

The modular device 100 may include an x-y-z drive system that may include one or more drive assemblies for actuating an end effector to an x-direction, a y-direction and a z-direction. For example, the modular device 100 may include an x-y-axis motion-actuator assembly 105, (for example, a screw-type drive assembly) that translates the end-effector 107 relative to a mount (such as a robot arm) in an x-direction and in a y-direction. Further, the modular device 100 may include a y-axis carriage assembly 108, (again for example, a screw-type drive assembly) that carries the end-effector 107 relative to the mount in the y-direction. Further yet, the modular device 100 may include a z-axis motion-actuator assembly (not shown in FIG. 2) that translates the end-effector 107 relative to the mount in a z-direction. Alternatively, one or more drive assemblies may translate the end-effector 107 in only one or two dimensions. Additionally, sensors (not shown in detail) coupled to one or more local controller 200-204 may provide feedback signals to the local controllers 200-204 so that the local controllers 200-204 can control various items via a closed loop control path. For example, a sensor may sense the x position of the x-y-z drive assembly such that the local controller 201 can stop movement of the drive in the x direction when the x-y-axis actuator assembly 105 attains the desired x-position.

The drive assemblies may be controlled by the local controller 201 to position the end-effector 107 in a position to accomplish its underlying function; in this case, the underlying function is to fasten one piece of metal to another piece of metal using a selected fastener. Thus, the local controller 200 may execute another sub-routine for positioning the end-effector 107 at a precise location with respect to the first and second pieces of metal. Further, the various drive assemblies that are part of the modular device 100 may be used for granular positioning while one of the local controllers 200-204 may be in communication with a robotic arm to which the modular device 100 is mounted in order to control broader movement. For example, the local controller 201 may send signals to a robotic arm to move the modular device 100 to a general location, but then use the drive assemblies such as modules 105 and 108) within the modular device 100 to move the end effector to a precise location.

The end-effector 107 may further include a tool selection assembly such as a turret module 210 that is configured to position different tools or end-effectors that may be attached to the turret module 210 into a working position or other position. In other embodiments, the tool selection assembly may be a linear selection device. Further yet, the tool selection assembly may be a combination of different tool selection devices. Examples of end-effectors that can be attached to the turret module 210 include a drill assembly, a camera assembly (to image, e.g., a drilled hole for analysis), a hole-depth determiner, a counter-sink-depth determiner, a fastener inserter, and a fastener installer. The turret module 210 may include a motor that rotates the turret to position a selected one of the tools in a work or other position, such as positioning the drill to drill a hole.

The modular device 100 of FIG. 2 includes a fastener-delivery assembly 109 that may include a fastener-orientation mechanism that can properly orient and load fasteners for use at the end-effector 107. The fastener-load mechanism may receive from the local-controller 200 information identifying the size of the fastener to be delivered, or the mechanism may effectively be able to determine the size without input from the local controller 204. Moreover, the tools on the turret module 210 may themselves be modular and self-contained with a dedicated local and nested controller. For example, one may be able to replace the drill, which includes a spindle motor assembly 106 and local motor controller (not shown), independently of the other tools in the overall modular device 100. The modular device 100 of FIG. 2 includes a human-machine interface 215 configured to provide a graphic user interface for local programmatic control of the device independent of the master control system.

In general, the end-effector assembly 107 includes a local controller 200 that, e.g., handles communications to/from the master control system and that controls one or more next-level sub-controllers 201-204 (e.g., nested controllers) within the modular device 100. For example, the local controller 200 may execute software that translates commands from the master control system into control signals or commands to sub-controllers 201-204 in the end effector, assembly 107 or other assemblies in the modular device 100 and that translates commands from the various sub-controllers 201-204 to the master control system. Such simple commands from the local controller 200 may simply be to begin the modular device function such that control is relinquished to the local controller 200 for accomplishing said function. Then, after said function is complete, the local controller 200 may communicate to the master control system that said function is complete and that control is relinquished back to the master control system.

There are several advantages realized in a self-contained modular system of FIGS. 1 and 2. First, the master control system, which is often a PLC, may have programming instructions that can be shortened and simplified as various commands to and from a coupled modular device 100 need only be minimal. Further, such PLC instructions at the master control system level need to be modified (or tested, debugged, and reinstalled) at all when software/firmware on board the modular device 100 is modified.

Second, the PLC of the master control system can send commands to the modular device 100 instead of analog or digital signals. This allows the connector 110 (e.g., “umbilical cord”) between the PLC and the modular device to be reduced to incorporating an Ethernet connection (e.g., CAT 6) and a power connection. By reducing the number of individual connections, the connector is smaller, less complex, and more reliable. Additionally, the modular device 100 may run from 110 VAC instead of a specialized supply voltage like 408 VDC.

Third, the modular device 100 may store its own calibration data and may calibrate itself independently of the PLC of the master control system. This relieves the PLC memory of the burden of storing a calibration LUT for each possible modular device 100 in the system, and also eliminates the need to update such various LUTs when a modular device 100 is switched out. That is, swapping out an end-effector assembly 107 is now transparent to the PLC of the master control system because it requires no updates to the PLC software or stored calibration/configuration data.

Third, because the modular device 100 is designed as a modular unit, repairing the end-effector assembly 107 or other assembly in the modular device 100 entails shipping only the defective module back to the equipment supplier. This means that to avoid down time, the entity using the modular device system may need to keep only spare modules, not entire spare robots on hand to swap out with a broken or defective assembly or module. Furthermore, tests (e.g., a test after repair or after a software update) can be performed on the end-effector assembly 107 independently of the remainder of the robot system. Therefore, the tester need not have an entire master robot system or a robot-system emulator.

FIG. 3 shows an isometric view of an overall robotic control system 300 set in a manufacturing environment that includes the self-contained modular manufacturing device 100 of FIG. 1 according to an embodiment of the subject matter disclosed herein. The system 300 includes a master control system 301 that may be a PLC or other programmable processor that is configured to control various robotic and automated subsystems within the overall robotic control system 300. In FIG. 3, only one subsystem 302 is shown for simplicity, but a skilled artisan understands that the system 300 may include multiple subsystems.

The subsystem 302 shown in FIG. 3 shows a robotic stanchion 320 that has a robotic arm 310 mounted in a movable manner to the robotic stanchion 320. Thus, under control of the master control system 301, the robotic arm may be maneuvered in several directions and degrees of freedom to place a mounted modular manufacturing device 100 into a position near an underlying manufactured item, such as the ribbed structure 330 shown in FIG. 3. In an embodiment, the self-contained modular manufacturing device 100 may take control of the robotic arm 310 if control is relinquished by the master control system 301. Such a control handshake is described above and not repeated in detail here.

FIG. 4 shows a block diagram of the system 300 of FIG. 3 set in a manufacturing environment that includes the self-contained modular manufacturing device 100 of FIG. 1 according to an embodiment of the subject matter disclosed herein. In this block diagram, the self-contained modular manufacturing device 100 includes the local controllers 200-204 described above for controlling actions and functions of various modules 105-109 the self-contained modular manufacturing device 100 and, at times, the robotic arm 310. In the context of FIG. 4, each module 105-109 is shown with a respective local controller 200-204, each of which may be configured to have similar components as are described next with respect to the controller 200.

The local controller 200 includes a processor 407 configured to execute instructions that may be stored in a local memory 408. The memory 408 is coupled to the processor via a communication and data bus 406. The bus 406 is also coupled to one or more interfaces 405 for one or more end-effectors. In other embodiments, the interface 405 may be for coupling additional modular devices or other devices in a nested controller manner, such as modules 105, 106, 108 and 109. In the embodiment of FIG. 4, a first “top-level” controller 200 may be communicatively coupled to a second tier controller 201 within the x-y-axis actuator module 105. In turn, another tier of controllers 202, 203, and 204 may be nested and communicatively coupled to the controller 201 of the x-y-axis actuator module 105. In this respect, control of functionality of various components within the overall modular device 100 may be passed back and forth between tiers of nested controllers 200-204.

The modular device controller 200 also includes an input/output interface 410 suitable for handling communication signals to and from other related manufacturing devices and controllers in the system 300. In this embodiment, the I/O interface 410 is communicatively coupled to a communication interface 420 housed within the robotic arm 310. In other embodiments, the communication interface 420 may be within a stanchion 320 of the robotic arm as shown in FIG. 3 or may be in direct communication with the master control system 301. The communication protocol for these devices may be standard Ethernet using TCP/IP protocol. Other embodiments may be a proprietary communication protocol, such as a proprietary “Smart Tool Protocol” (STP), using TCP/IP Ethernet or other standard serial or parallel interfaces (e.g., RS-232 or the like).

The communication interface 420 associated with the robotic arm may be coupled to one or more robotic actuators configured to move the robotic arm 310 in one or more direction or orientations (such as pivoting or rotating). The master control system 301, in turn, may include a master controller 460 that includes an I/O interface 461, a processor 462 and a memory 463 for accomplishing master control tasks and functions.

FIG. 5 shows a block diagram of an overall control system 500 set in a manufacturing environment that includes the several self-contained modular manufacturing device 100 of FIG. 1 according to an embodiment of the subject matter disclosed herein. The system 500 includes the modular device 100 having a local controller 200. This may be similar to the modular device 100 described in FIGS. 1-4. Additionally, the system 500 includes three more modular devices 510, 520 and 530 that each respectively include local controllers 511, 521, and 531. These modular devices may be arranged in a hierarchy of control such that one or more of the controllers 200, 511, 521, and 531 may exert control over one or more of the individual modular devices 100, 510, 520, and 530.

In this embodiment, modular devices 100 and 510 may be coupled to a network 501. The network is further coupled to a master control system 301 having a master controller 460. Further the network may be coupled to a robotic arm actuator system 310. Additionally, modular device 520 and 530 are coupled to the modular device 510. In this respect, communications are routed through the modular device 510 and not directly through the network 510. Several other alternative arrangements and hierarchies may exists but are not shown further for brevity.

Various methods may be realized using the system 300 of FIG. 3 which is exemplified in the block diagrams of FIG. 4 and FIG. 5; an embodiment of one method is described next with respect to FIG. 6.

FIG. 6 shows a flow diagram of a method for using one or more self-contained modular manufacturing devices with nested controllers in the systems of FIGS. 4 and 5 according to an embodiment of the subject matter disclosed herein. The method described with respect to the flow diagram of FIG. 6 is for an underlying manufacturing function for drilling and fastening together two pieces of metal that are being held by tooling. The order and number of steps, and the steps themselves, may be different in other embodiments.

The method begins at step 600 and proceeds to a first step 601 wherein the master controller 460 may be engaged for maneuvering a first self-contained modular manufacturing device 100 to a position to accomplish a first manufacturing function. For example, the master controller 460 may first move a modular device having a drilling assembly as an end effector 107 such that a hole may be drilled by the end-effector 107 of the first modular device 100. The master controller 460 may then indicate, at step 603, to the first modular device 100 that the first modular device is at (or close to) the drill position.

At step 605, the actual control of the modular device may be passed to the modular device 100 such that a local controller 200 may now engage the accomplishing of the drilling function. At step 607, the accomplishing of the first manufacturing function is undertaken via the first local controller 200 disposed in the first modular device 100. At step 609, the local controller 200 of the first modular device 100 may then control other modular devices to accomplish additional functions prior to passing control back to the master controller 460. Thus, the first controller 200 may maneuver a second device 510 into the function position at step 609 and then indicate to the second device 510 at step 613 that it is now in position for its function. Now, a second function may be accomplished by the second modular device 510 under control of a second local controller 511 as control is then passed to the second controller 511 at step 615.

Once control is passed to the second controller 511, the second modular device 510 can then engage, through its local controller 511, to accomplish the second manufacturing function at step 617. Once the second function is accomplished (e.g., a fastener has been installed), the second modular device controller 511 may indicate to the first local controller 200 that the second function has been accomplished at step 619. At step 621, control may be passed from the second controller 511 to the first controller 200. Then, at step 623, overall control may be passed back to the master controller 460.

Additional optional or alternative steps in this method include storing results of accomplishing the manufacturing functions in a local memory disposed in the one or more of the self-contained modular manufacturing devices. Another optional step may be loading parameters for accomplishing the manufacturing functions from a local memory disposed in one or more of the self-contained modular manufacturing devices prior to accomplishing any manufacturing function. Yet another option is to have third and fourth functions locally control after a control handshake.

Once all functions have been accomplished, the method ends at step 630. Additional steps may be added in other embodiments, such as additional control handshakes with nested controllers as well as multiple functions at the same position, such as locating, drilling, measuring and installing a fastener with respect to a hole. Further, the steps of this method need not be performed in exactly the order depicted in FIG. 6 and some steps may be omitted. The above example is just one illustrative example out of many illustrative examples.

While the subject matter discussed herein is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the claims to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the claims. 

What is claimed is:
 1. A method, comprising: maneuvering a first self-contained modular manufacturing device to a position to accomplish a first manufacturing function, the maneuvering controlled by a master controller remote from the first self-contained modular manufacturing device; indicating to the first self-contained modular manufacturing device that the first self-contained modular manufacturing device is in the position; accomplishing the first manufacturing function, the accomplishing controlled by a first local controller disposed in the first self-contained modular manufacturing device; maneuvering a second self-contained modular manufacturing device to the first position to accomplish a second manufacturing function, the maneuvering controlled by the first local controller; indicating to the second self-contained modular manufacturing device that the second self-contained modular manufacturing device is in the position; accomplishing the second manufacturing function, the accomplishing controlled by a second local controller disposed in the second self-contained modular manufacturing device; indicating to the first local controller that the second self-contained modular manufacturing device has accomplished the second manufacturing function; and indicating to the master controller that the first and second self-contained modular manufacturing device has accomplished the second manufacturing function.
 2. The method of claim 1, wherein the position comprises a rough estimate of a final position and wherein the method further comprises relinquishing control of the maneuvering to the first self-contained modular manufacturing device to maneuver the first self-contained modular manufacturing device into the final position with greater precision.
 3. The method of claim 1, further comprising accomplishing the first or second manufacturing task by actuating an end-effector configured to accomplish the manufacturing function.
 4. The method of claim 1, further comprising storing results of accomplishing the first or second manufacturing function in a local memory disposed in the first self-contained modular manufacturing device.
 5. The method of claim 1, further comprising loading parameters for accomplishing the manufacturing function from a local memory disposed in the first self-contained modular manufacturing device prior to accomplishing the first or second manufacturing function.
 6. The method of claim 1, further comprising: maneuvering the first self-contained modular manufacturing device to a second position to accomplish the first manufacturing function, the maneuvering controlled by the master controller remote from the first self-contained modular manufacturing device; indicating to the first self-contained modular manufacturing device that the first self-contained modular manufacturing device is in the second position; accomplishing the first manufacturing function, the accomplishing controlled by the first local controller disposed in the first self-contained modular manufacturing device.
 7. The method of claim 1, further comprising: maneuvering a third self-contained modular manufacturing device to the first position to accomplish a third manufacturing function, the maneuvering controlled by the second local controller; indicating to the third self-contained modular manufacturing device that the third self-contained modular manufacturing device is in the position; accomplishing the third manufacturing function, the accomplishing controlled by a third local controller disposed in the third self-contained modular manufacturing device; and indicating to the second local controller that the third self-contained modular manufacturing device has accomplished the third manufacturing function. 